Dynomotion

Group: DynoMotion Message: 8758 From: Hugh Sontag Date: 12/2/2013
Subject: SnapAmp and stepper motors
Hi Tom,

I'd like to understand how KFLOP and the SnapAmp work with stepper motors. I'm interested in a closed-loop stepper configuration.

The stepper motors I'm considering have a 7 amp max current per winding, and I'm considering driving them with an 80 volt power supply.

Is there a way to configure the SnapAmp to limit the current in the stepper windings without putting resistors in series with each winding?

If there is, how would I set it up? 

The alternative, of limiting max current in the stepper motor windings with resistors, isn't attractive, because of the huge amount of power that will be dissipated in the resisitors all the time the CNC machine is not running.

Thanks for the info,
Hugh
Group: DynoMotion Message: 8760 From: Tom Kerekes Date: 12/2/2013
Subject: Re: SnapAmp and stepper motors
Hi Hugh,

Yes the parameter Microstepping Amplitude set the coil currents when driving steppers in Microstep Output Mode.  1024 counts corresponds to a max current of 35Amps.  So to maintain 7 Amps you would use:

7/35 * 1024 = 204

Resistors in series would be a bad thing.

Incidentally SnapAmp also has the capability of driving a stepper as a brushless motor (4Phase).  But this is quite difficult to setup and tune.

Regards
TK 

Group: DynoMotion Message: 8771 From: Hugh Sontag Date: 12/4/2013
Subject: Re: SnapAmp and stepper motors
Hi Tom,

When using SnapAmps to microstep:

1. What is the number of microsteps per step? Is it constant for the SnapAmp, or is it variable? If variable, do you recommend a particular number of microsteps per step for a 1.8 degree stepper?

2. How does the SnapAmp distribute current between the two windings when microstepping? Is it linearly proportional, or a sine wave, or something else?  Is there any control over the mapping of the current ratio for each microstep?

3. Does each winding get the max current halfway through the step, or does only one winding ever get the max current at one time, when the motor is at one pole or the other?

Thanks,
Hugh


---------- Forwarded message ----------
From: Tom Kerekes <tk@...>
Date: Mon, Dec 2, 2013 at 2:26 PM
Subject: Re: [DynoMotion] SnapAmp and stepper motors
To: "DynoMotion@yahoogroups.com" <DynoMotion@yahoogroups.com>


 

Hi Hugh,

Yes the parameter Microstepping Amplitude set the coil currents when driving steppers in Microstep Output Mode.  1024 counts corresponds to a max current of 35Amps.  So to maintain 7 Amps you would use:

7/35 * 1024 = 204

Resistors in series would be a bad thing.

Incidentally SnapAmp also has the capability of driving a stepper as a brushless motor (4Phase).  But this is quite difficult to setup and tune.

Regards
TK 

Group: DynoMotion Message: 8772 From: Tom Kerekes Date: 12/4/2013
Subject: Re: SnapAmp and stepper motors
Hi Hugh,

SnapAmp drives steppers in a manner different from most Step/Dir Drives.  Microsteps are never actually generated.  The floating point position is used to sinusoidally generate the coil currents.  So the "microstepping" has virtually infinite resolution.  How ever there is a limited resolution on the current control which is a function of the current range.  For your 7A motors there are +/- 204 current levels so the resolution would be very high.  This theoretically comes out to be 2 x PI x 204 / 4 = 320 microsteps/full step.  Do not expect to really achieve that resolution.

The currents in the coils vary as sine and cosine functions.  With a Microstepping Amplitude of 7Amps (204) at some points in the cycle one coil would have 7Amps and the other nothing.  At the mid point in the cycle both coils would have 0.707 x 7 = 4.9Amps.  I^2 x R Motor heating is the same at all positions in the cycle.

Regards
TK

Group: DynoMotion Message: 8773 From: Hugh Sontag Date: 12/4/2013
Subject: Re: SnapAmp and stepper motors
That's a really nice way to do it.

Is using the "CL Micro" mode in the Configuration window the way to control a stepper motor using a SnapAmp and microstepping?

The example at the URL


shows the calculation of an input gain for the encoder.

For a stepper with 200 steps/revolution and an encoder with 8192 counts per revolution (actually 2048 pulses per revolution, times 4 because of the quadrature signal), and using the SnapAmp to microstep the stepper motor, what should the encoder input gain be?

Thanks,
Hugh





On Wed, Dec 4, 2013 at 11:08 AM, Tom Kerekes <tk@...> wrote:
 

Hi Hugh,

SnapAmp drives steppers in a manner different from most Step/Dir Drives.  Microsteps are never actually generated.  The floating point position is used to sinusoidally generate the coil currents.  So the "microstepping" has virtually infinite resolution.  How ever there is a limited resolution on the current control which is a function of the current range.  For your 7A motors there are +/- 204 current levels so the resolution would be very high.  This theoretically comes out to be 2 x PI x 204 / 4 = 320 microsteps/full step.  Do not expect to really achieve that resolution.

The currents in the coils vary as sine and cosine functions.  With a Microstepping Amplitude of 7Amps (204) at some points in the cycle one coil would have 7Amps and the other nothing.  At the mid point in the cycle both coils would have 0.707 x 7 = 4.9Amps.  I^2 x R Motor heating is the same at all positions in the cycle.

Regards
TK

Group: DynoMotion Message: 8774 From: Tom Kerekes Date: 12/4/2013
Subject: Re: SnapAmp and stepper motors
Hi Hugh,

Yes "CL Micro" is the Open Loop "Microstep" mode I described but with Closed Loop Feedback.   In this mode the commanded position will be adjusted based on servo feedback from an encoder.  I would start out with open loop "Microstep" mode first.

Microstep mode uses units of full cycles (4 full steps).  So the encoder input gain should be:

50/8192 = 0.006103515625

Regards
TK

Group: DynoMotion Message: 8775 From: Hugh Sontag Date: 12/4/2013
Subject: Re: SnapAmp and stepper motors
OK, thanks for the info.

Does "CL Micro" also use units of full cycles?

It seemed to me that it would be easiest to use "CL Micro" from the start, with an initial I (Integrator gain) of zero. Would that be effectively the same as the "Microstep" mode?

Then once it's working with no integrator gain, I plan to increase the integrator gain until there is evidence of overshoot or instability, or there's no more improvement in position error during a move.

Hugh


On Wed, Dec 4, 2013 at 11:32 AM, Tom Kerekes <tk@...> wrote:
 

Hi Hugh,

Yes "CL Micro" is the Open Loop "Microstep" mode I described but with Closed Loop Feedback.   In this mode the commanded position will be adjusted based on servo feedback from an encoder.  I would start out with open loop "Microstep" mode first.

Microstep mode uses units of full cycles (4 full steps).  So the encoder input gain should be:

50/8192 = 0.006103515625

Regards
TK

Group: DynoMotion Message: 8776 From: Tom Kerekes Date: 12/4/2013
Subject: Re: SnapAmp and stepper motors
Hi Hugh,

Yes "CL Micro" uses units of cycles.

Yes that is an equivalent approach.  If you set P I D and Feed forwards all to zero it would be the same as Microstep mode.

Regards
TK